1. Field of the Invention
The present invention relates to a integrated circuit memory including an array of flash EEPROM memory cells and circuitry to provide for overerase correction for the flash EEPROM cells.
2. Description of the Related Art
FIG. 1 shows a typical configuration for an integrated circuit including a flash EEPROM memory array 100 and circuitry enabling programming, erasing, reading, and overerase correction for memory cells in the array 100. The flash EEPROM array 100 is composed of individual cells, such as 102. Each cell has a drain connected to a bitline, such as 104, each bitline being connected to a bitline pull up circuit 106 and column decoder 108. Sources of the array cells are connected to Vss, while their gates are each connected by a wordline to a row decoder 110.
The row decoder 110 receives voltage signals from a power supply 112 and distributes the particular voltage signals to the wordlines as controlled by a row address received from a processor or state machine 114. Likewise, the bitline pull up circuit 106 receives voltage signals from the power supply 112 and distributes the particular voltage signals to the bitlines as controlled by a signal from the processor 114. Voltages provided by the power supply 112 are provided as controlled by signals received from processor 114.
The column decoder 108 provides signals from particular bitlines to sense amplifiers or comparators 116 as controlled by a column address signal received from processor 114. The sense amplifiers 116 further receive a signal from reference cells of reference array 118. An example of circuitry for reference array 118, as well as operation of such circuitry is provided in U.S. patent application Ser. No. 08/160,582 entitled "Programmed Reference", and U.S. Pat. No. 5,335,198 entitled "Flash EEPROM Array With High Endurance", both of which are incorporated herein by reference. With signals from the column decoder 108 and reference array 118, the sense amplifiers 116 then each provide a signal indicating a state of a bitline relative to a reference cell line to which it is connected through data latches or buffers 120 to processor 114.
To program a cell in the flash memory array 100, high gate-to-drain voltage pulses are provided to the cell from power supply 112 while a source of the cell is grounded. For instance, during programming typically multiple gate voltage pulses of 10 V are each applied for approximately two to three microseconds to a cell, while a drain voltage of the cell is set to 5.5 V and its source is grounded. The large gate-to-drain voltage pulses enable electrons flowing from the source to drain to overcome an energy barrier to produce "hot electrons" which are accelerated across a thin dielectric layer enabling the electrons to be driven onto a floating gate of the cell. This programming procedure, termed "hot electron injection" results in an increase of a threshold voltage for the cell, the threshold being the gate-to-source voltage required for the cell to conduct.
To erase a cell in the flash memory array 100, a procedure known as Fowler-Nordheim tunneling is utilized wherein relatively high negative gate-to-source voltage pulses are applied for a few tenths of a second each. For instance, during erase multiple gate voltage pulses of -10 V are applied to a cell, while a drain of the cell is set to 5.5 V and its source is floating. The large negative gate-to-source voltage pulses enable electrons to tunnel from the floating gate of a cell reducing its threshold.
To represent a data bit, the floating gate of a cell is programmed or erased as described above. In a programmed state, the threshold voltage of a cell is typically set at greater than 6.5 volts, while the threshold voltage of a cell in an erased state is typically limited below 3.0 volts. To read a cell, a control gate voltage between the 3.0 and 6.5 volt range, typically 5 V, is applied. The 5 V read pulse is applied to the gate of an array cell as well as a cell in reference array 118 having a threshold near 5 V. In a programmed state with an array cell in array 100 having a threshold above 6.5 V, current provided by the reference cell with a threshold of 5 V will be greater indicating a programmed cell exists. In an erased state with a threshold of a cell in array 100 below 3.0 V, current provided by the array cell will be greater than the reference cell with a threshold of 5 V indicating an erased cell. To verify programming or erase, a read voltage is similarly applied to both a cell in the array and to cells in the reference array 118. For programming, a reference cell having a threshold of 6.5 V is used for a comparison, while for erase, a reference cell having a threshold of 3.0 V is used for comparison.
In a flash memory array, all cells are typically erased simultaneously. Erasing of the memory cells is typically done by repeated applications of the short erase pulses, described above, applied to each of the cells in an array, such as flash memory array 100. After each erase pulse, erase verify is performed cell by cell to determine if each cell in the array has a threshold above a limit, such as 3.0 V, or if a cell is "undererased". If an undererased cell is detected, an additional erase pulse is applied to the entire array. With such an erase procedure, a cell which is not undererased will also be repeatedly erased, and its floating gate may eventually acquire a threshold below zero volts. A cell with a threshold erased below zero volts is referred to as being "overerased".
An overerase condition is undesirable because the programming characteristics of an overerased cell more rapidly become deteriorated, reducing the number of times the cell can be reprogrammed which is referred to as the cells "endurance". Overerased cells are also undesirable because they create bitline leakage current during program or read procedures. For instance, during program or read, only one wordline carries a positive voltage, while the remaining wordlines are typically grounded. With wordlines grounded, or at 0 V, a cell with a threshold voltage below 0 V will conduct a bitline leakage current. With bitline leakage current, power supplies providing power to a bitline during programming may become overloaded. Similarly, with bitline leakage current during read, read errors may occur.
To prevent overerase, manufacturers of integrated circuits containing flash memory cells typically provide an overerase correction mechanism. FIG. 2 is a flow chart illustrating a prior art erase and overerase correction procedure. In the procedure, erase is performed first, and then overerase correction is provided. The procedure of FIG. 2 will be described in more detail below.
First, for the erase procedure, in steps 202 and 204, the row address and column address provided by processor 114 are set to an initial address. Next, in step 206, an erase verify pulse is provided to a cell as selected by the row and column addresses. Outputs from sense amplifiers 116 are then utilized by processor 114 to determine if the cell referenced by the row and column addresses is undererased. If the cell is undererased an erase pulse is applied in step 208 to the entire array and the erase verify step 206 is repeated.
If the cell referred to by the row and column addresses is not undererased in step 206, the column address is incremented in step 210. Next, in step 212, if the last column address has not been exceeded, control returns to step 206. Otherwise, in step 214 the row address is incremented, and if the last row address has not been exceeded in step 216, control is returned to step 206. If the last row has been exceeded, the column address is reset in step 218 to begin the overerase correction procedure.
Next, in the overerase correction procedure, in step 220 power supply 112 is controlled to provide an overerase verify pulse to bitlines of the cells referred by the column address, while wordlines remain grounded. Outputs from sense amplifiers 116 are then provided to the processor 114 to determine if the bitline referenced by the column address is providing a leakage current. If the bitline is providing a leakage current, overerased cells exist, so in step 222 power supply 112 is controlled to provide an overerase correction pulse to all the cells connected to the bitline referred to by the column address and step 220 is repeated.
The overerase correction pulse applied in step 222 is a relatively high voltage applied to the drain of a cell, such as 6 V, while its gate and source are typically grounded. U.S. patent application Ser. No. 08/269,530 entitled "Multistepped Threshold Convergence For A Flash Memory Array", and U.S. Pat. No. 5,359,558 entitled "Flash EEPROM Array With Improved High Endurance", both incorporated herein by reference, disclose further details regarding application of overerase correction pulses.
If no bitline leakage current is identified in step 220, the column address is incremented in step 224. Next, in step 226, if the last column address has not been exceeded, control is returned to step 220. Otherwise, the overerase correction procedure is complete.
Although the overerase correction procedure illustrated in FIG. 2 eliminates overerased cells, because overerased cells may have been present during the erase procedure, the endurance of cells in the array will be reduced.
Further, because overerased cells may have been present during erase verify in step 206, undererased, or programmed cells may still be present after the erase procedure is complete. In explanation, during erase, one cell in an array may erase on the order of one 100 times faster than other cells. If the cell verified in step 206 is erased very slowly, while a cell in the same column is erased rapidly by continual applications of the erase pulse of step 208, the cell in the same column which erases faster may become overerased before the cell addressed in step 206 is verified as properly erased. Since during verify in step 206, the remaining cells on the column other than the cell addressed have grounded wordlines, the overerased cell will conduct a bitline leakage current. With such bitline leakage current adding to the current conducted by the addressed cell, a sense amplifier comparing the current of the addressed cell to current of a reference cell in reference array 118 will prematurely indicate for step 206 that the addressed cell has been properly erased. Thus, after completion of erase, cells may remain undererased.